package com.ruoyi.api.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 识别记录对象 rec_record
 * 
 * @author ruoyi
 * @date 2025-08-11
 */
public class RecRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    private Long recordId;

    /** 应用ID（外键） */
    @Excel(name = "应用ID", readConverterExp = "外=键")
    private Long appId;

    /** 原始图像路径 */
    @Excel(name = "原始图像路径")
    private String inputImg;

    /** 预测图像路径 */
    @Excel(name = "预测图像路径")
    private String outputImg;

    /** 识别结果JSON字符串 */
    @Excel(name = "识别结果JSON字符串")
    private String recResult;

    /** 是否预警（0否 1是） */
    @Excel(name = "是否预警", readConverterExp = "0=否,1=是")
    private Integer danger;

    /** 置信度 */
    @Excel(name = "置信度")
    private BigDecimal confidence;

    /** 置信度阈值 */
    @Excel(name = "置信度阈值")
    private BigDecimal confThreshold;

    /** 设备ID（外键） */
    @Excel(name = "设备ID", readConverterExp = "外=键")
    private Long deviceId;

    /** 任务类型（手动、定时） */
    @Excel(name = "任务类型", readConverterExp = "手=动、定时")
    private String taskType;

    /** 处理状态（处理中、已完成、失败） */
    @Excel(name = "处理状态", readConverterExp = "处=理中、已完成、失败")
    private String processStatus;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }

    public void setAppId(Long appId) 
    {
        this.appId = appId;
    }

    public Long getAppId() 
    {
        return appId;
    }

    public void setInputImg(String inputImg) 
    {
        this.inputImg = inputImg;
    }

    public String getInputImg() 
    {
        return inputImg;
    }

    public void setOutputImg(String outputImg) 
    {
        this.outputImg = outputImg;
    }

    public String getOutputImg() 
    {
        return outputImg;
    }

    public void setRecResult(String recResult) 
    {
        this.recResult = recResult;
    }

    public String getRecResult() 
    {
        return recResult;
    }

    public void setDanger(Integer danger) 
    {
        this.danger = danger;
    }

    public Integer getDanger() 
    {
        return danger;
    }

    public void setConfidence(BigDecimal confidence) 
    {
        this.confidence = confidence;
    }

    public BigDecimal getConfidence() 
    {
        return confidence;
    }

    public void setConfThreshold(BigDecimal confThreshold) 
    {
        this.confThreshold = confThreshold;
    }

    public BigDecimal getConfThreshold() 
    {
        return confThreshold;
    }

    public void setDeviceId(Long deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() 
    {
        return deviceId;
    }

    public void setTaskType(String taskType) 
    {
        this.taskType = taskType;
    }

    public String getTaskType() 
    {
        return taskType;
    }

    public void setProcessStatus(String processStatus) 
    {
        this.processStatus = processStatus;
    }

    public String getProcessStatus() 
    {
        return processStatus;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("appId", getAppId())
            .append("inputImg", getInputImg())
            .append("outputImg", getOutputImg())
            .append("recResult", getRecResult())
            .append("danger", getDanger())
            .append("confidence", getConfidence())
            .append("confThreshold", getConfThreshold())
            .append("deviceId", getDeviceId())
            .append("taskType", getTaskType())
            .append("processStatus", getProcessStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
